﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using JumpFleetGameLib.Objects.Weapons;
using JumpFleetGameLib.Objects;
namespace JumpFleetGameLib.Objects.Ships
{
    public interface IShip : IBaseObject
    {
        Vector2 Position { get; set; }
        Vector2 Velocity { get; set; }
        Vector2 Direction { get; set; }
        Vector2 Origin { get; set; }
        Rectangle Bounds { get; set; }
        Texture2D ShipTexture { get; set; }
        string Name { get; set; }
        int Health { get; set; }
        int Shield { get; set; }
        float Speed { get; set; }
        float Rotation { get; set; }
        float Size { get; set; }
        BaseWeapons Weapon { get; set; }


        void FireWeapon();
        bool FTL();
        void Reload();
        void RechargeShields();


        // I base Stuff
        void LoadContent();
        void Update(GameTime gametime);
        void Draw(SpriteBatch batch);
        bool CheckCollision(IShip bounds);

    }
}
